今までMovable Type 4.1(個人ライセンス)を使っていましたが、Movable Typeのオープンソース版であるMTOS 4.1へ移行しました。
移行する方法や手順を探しましたが、これといった情報が無かったので、ファイルの入れ替えをしてみました。とりあえず、不具合は見当たらないので大丈夫みたいです・・・。
- MySQLのデータベース(MT)を新しいデータベース(MTOS)へコピー。
- MTOSのファイルを新しいディレクトリ(MTOS)へアップロード。
- MTで使っていたmt-config.cgiのデータベース名をMTOSに変更し、MTOSのディレクトリにコピー。
- ディレクトリ名(MTOS)をMTに変更。
- mt.cgiにアクセスしてエラーが無いか確認。
このような流れで移行しました。
Movable Type 4.1でダイナミックパブリッシングを使うようにして、キャッシュも使うようにすると「次の記事」とか「前の記事」へのリンクがおかしくなります。
検索サイトで色々検索しても、Movable Type 4.1で同様の現象にあっている方が見つかりません・・・。
うちのサーバー固有の問題?。
キャッシュは使わないようにしていると、エントリー数が多いブログでは、表示するのに少し時間が掛かりますね。
条件付き取得を有効にすると、ブラウザのキャッシュを使うようになるので、一度アクセスしたページを再表示するのは早くなりますが、気休め程度にしかならないですよね(^^;。
Movable Type 4.01を使っている時は、こういうことはなかった筈なので、4.1になって何か変わったんでしょうか・・・?。
Movable Type 4.1でダイナミックパブリッシングを使用するにしたら、ブログ記事の続き部分が変な表示なってしまいました。
<div id="more" class="asset-more"><br />
<p>追記</p><br />
という感じで、余計な<br />が出力されています。
ブログ記事の詳細テンプレートを見ると、
<MTIfNonEmpty tag="EntryMore" convert_breaks="0">
<div id="more" class="asset-more">
<$MTEntryMore$>
</div>
</MTIfNonEmpty>
となっており、convert_breaks="0"が悪さをしているんじゃないと思います。
素人考えですが、MTIfNonEmptyでconvert_breaks="0"は使えないんじゃないでしょうか?。
convert_breaks="0"を削除して、余計な<br />が出力されず、きちんと表示されることを確認しましたし、削除したことで不具合も無さそうです。
エントリーアーカイブで関連するエントリーへのリンクを貼りたいと思い、WingMemo: エントリーアーカイブに関連する記事一覧を表示するを参考にして、テンプレートモジュールを作成してみました。
<MTSetVarBlock name="eid"><MTEntryID></MTSetVarBlock>
<MTEntryIfTagged>
<MTSetVarBlock name="etag"><MTEntryTags glue=" OR "><$MTTagName$></MTEntryTags></MTSetVarBlock>
<MTEntries lastn="11" tags="$etag"><MTSetVarBlock name="tid"><MTEntryID></MTSetVarBlock>
<MTSetVarBlock name="ecount"><MTEntriesCount></MTSetVarBlock>
<MTIf name="ecount" gt="1">
<MTEntriesHeader><div class="trackbacks"><h2 class="trackbacks-header">関連するエントリー</h2><ul></MTEntriesHeader>
<MTUnless name="tid" eq="$eid">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTUnless>
<MTEntriesFooter></ul></div></MTEntriesFooter>
</MTIf>
</MTEntries>
<MTElse>
<MTSetVarBlock name="ecat"><$MTEntryCategory$></MTSetVarBlock>
<MTEntries lastn="11" category="$ecat">
<MTSetVarBlock name="xid"><MTEntryID></MTSetVarBlock>
<MTSetVarBlock name="ecount"><MTEntriesCount></MTSetVarBlock>
<MTIf name="ecount" gt="1">
<MTEntriesHeader><div class="trackbacks"><h2 class="trackbacks-header">関連するエントリー</h2><ul></MTEntriesHeader>
<MTUnless name="xid" eq="$eid">
<li><a href="<$MTEntryPermalink$>"><$MTEntryTitle$></a></li>
</MTUnless>
<MTEntriesFooter></ul></div></MTEntriesFooter>
</MTIf>
</MTEntries>
</MTElse>
</MTEntryIfTagged>
もう少しスマートにできそうな気がしないでもないですが・・・(^^;。
同じタグがつけられたエントリーが他に無かったり、カテゴリーに他のエントリーが無い場合は、表示させないようにしています。
Movable Type 4.1で確認していますのが、Movable Type 4.01でちゃんと動くかはわかりません。
Movable Type 4.1のウィジェットテンプレートにタグクラウドというのがあります。
mt:Tagsというタグのモディファイアの設定が間違っている部分があり、修正しないと期待した通りの結果が得られません。
<div class="widget-tag-cloud widget">
<h3 class="widget-header">タグクラウド</h3>
<div class="widget-content">
<ul class="widget-list">
<mt:Tags limit="20" sort_by="rank">
<li class="rank-<$mt:TagRank max="10"$> widget-list-item"><a href=""><a href="<$mt:TagSearchLink$></a>"><$mt:TagName$><a href=""></a></a></li>
</mt:Tags>
</ul>
</div>
</div>
赤く表示しているrankという部分を下記のようにcountと修正します。
<div class="widget-tag-cloud widget">
<h3 class="widget-header">タグクラウド</h3>
<div class="widget-content">
<ul class="widget-list">
<mt:Tags limit="20" sort_by="count">
<li class="rank-<$mt:TagRank max="10"$> widget-list-item"><a href=""><a href="<$mt:TagSearchLink$></a>"><$mt:TagName$><a href=""></a></a></li>
</mt:Tags>
</ul>
</div>
</div>
mt:Tagsについては、MTTags | テンプレートタグリファレンスを参照してください。
Movable Type 4.01 のテンプレートに「ブログ記事のメタデータ」というものがあります。
このテンプレート内で
<MTIfPingsActive>| <a href="<$MTEntryPermalink$>#trackback">トラックバック(<$MTEntryTrackbackCount$>)</a></MTIfPingsActive>
となっている部分があります。#trackbackとname属性を指定していますが、 これだとリンクをクリックしてもトラックバックの部分へジャンプできませんので、下記のように修正しました。
<MTIfPingsActive>| <a href="<$MTEntryPermalink$>#trackbacks">トラックバック(<$MTEntryTrackbackCount$>)</a></MTIfPingsActive>
コメント設定の表示オプションにCAPTCHAプロバイダというのが使えますが、
CAPTCHAプロバイダがありません。Image::Magickがインストールされているか、またCaptchaSourceImageBaseが正しく設定されていてmt-static/images/captcha- sourceにアクセスできるか確認してください。
というエラーメッセージが表示されて設定できませんでした。
mt-config.cgiに
CaptchaSourceImageBase /site/mt-static/images/captcha-source
と追加すれば解決しました。
Microsoft Virtual PC 2007上にインストールしたCentOS 4に、Movable Type 4 ベータ2をインストールしてみました。
CentOSの環境は、
Perl 5.8.5
Mysql 4.1.20
となっています。
インストール作業中、不具合とかエラーは発生しませんでしたのですんなりと終わりました。
とりあえず、テスト用のエントリーを作成してみました。
テンプレートやプラグインの仕様が大きく変わりましたので、慣れるまでだいぶ時間が掛かるような感じですね(^^;;。